Data dependent restrictions

ABSTRACT

A method of controlling access to a digital resource of a group of digital resources, the method comprising: determining information sensitive features comprised in information contents of the resources for which access to the features are limited to a selection of users from a group of users associated with the group of resources; determining if contents of the digital resource comprise at least one of the information sensitive features; determining whether a user of the group of users has authorization to access at least a portion of the resource based on the at least one information sensitive feature; and enabling the user access only to the at least portion of the resource for which the user is determined to have authorization.

RELATED APPLICATIONS

The present application is a Continuation of PCT Application No. PCT/IL2023/050652, filed on Jun. 22, 2023, which claims the benefit under 35 U.S.C. 119(e) of U.S. Provisional Application 63/354,896 filed on Jun. 23, 2022, the disclosures of which are incorporated herein by reference.

FIELD

Embodiments of the disclosure relate to providing cybersecure access channels and workspaces for communications networks and digital resources.

BACKGROUND

The various computer and communications technologies that provide modern communications networks and the internet, encompass a large variety of virtual and bare metal network elements (NEs) that support operation of the communications networks and the stationary and/or mobile user equipment (UE) that provide access to the networks. The technologies have enabled the information technology (IT) and the operations technology (OT) that are the bedrocks of today's society and provide a plethora of methods, devices, infrastructures, and protocols for controlling industrial equipment, supporting business operations, and generating and propagating data, voice, and video content via the internet. Information of all types is readily available through the internet to most of the global population, independent of physical location. And today large segments of the global community regularly work remotely from their homes, coffee shops, and vacation venues via connectivity to their employers and work groups using their personal, Bring Your Own Device (BYOD), UEs—such as their personal smartphones, laptops, tablets, and home desktops. The networks have democratized the consumption of information and accelerated changes in societal infrastructure.

However, the benefits provided by the computer and communications technologies are not without their costs. The same technologies and benefits have substantially increased the difficulty in providing and maintaining legitimate personal and collective rights to confidentiality, and in protecting the integrity and safety of the selfsame industrial and business operations that the technologies have enabled against violation and damage from cyberattacks.

For example, a fingerprint of cyberattack surfaces characterizes each UE, whether it is a personal, spatially untethered BYOD or an enterprise, workplace user equipment (WPUE) and provides vulnerabilities for exploitation by malicious hackers to wreak havoc possibly on the UE and more often on entities and systems to which the UE connects. Each UE, and in particular a BYOD, in addition to functioning as a person's communications node, is a potential cyberattack node for any communications network to which the UE connects. For enterprises that must be in contact with clients, workers, and/or associates that have segued at least in part to remote work using their personal BYODs, vulnerability to cyberattack is amplified by a number of their remote contacts, the software configurations in the contacts' respective BYODs, and the manifold of non-enterprise communications that the contacts engage in using the UEs. The gravitation of enterprise data and storage resources to the cloud and the proliferation of technologies such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS) that remote contacts access and use further compounds the complexity of providing for appropriate cyber protection.

SUMMARY

An aspect of an embodiment of the disclosure relates to providing a cyber secure communications system, optionally referred to as a CyberSafe system or simply “CyberSafe”, that provides enhanced visibility and management of communications traffic propagated by the system. CyberSafe leverages the enhanced visibility to provide improved cyber protection for, and secure access to a digital resource of a body of resources for an authorized user of a UE—a BOYD or a WPUE—associated with the body of resources.

Digital resources include any information in digital format, at rest or in motion, and comprise by way of example electronic documents, images, files, data, databases, and/or software, which refers to executable code and/or data. Digital resources also include any software and/or hardware that may be used to operate on or generate a digital resource. A digital resource in motion is a digital resource that is being used, and/or operated on, and/or in transit between nodes of a communication system. A digital resource at rest is a digital resource that is in storage and not in motion.

For convenience of presentation it is assumed that the body of digital resources is owned by an enterprise, optionally referred to as “MyCompany”, that employs or engages in tasks with users authorized to use a UE associated with the body of resources to access a MyCompany resource. A UE associated with the body of resources is a UE that has been configured in accordance with an embodiment of the disclosure to enable an authorized user access to a MyCompany resource and may be referred to as a MyCompany UE. A user authorized to use a MyCompany UE to access a MyCompany resource may be referred to as a MyCompany user or simply a user.

In an embodiment CyberSafe comprises an, optionally cloud based, data and processing security hub, also referred to as a CyberSafe hub, and a web browser, also referred to as a CyberSafe secure web browser (SWB), resident in a CyberSafe isolated secure environment (CISE) of a MyCompany UE configured by, or in accordance with, CyberSafe. In an embodiment, CISE operates to isolate software comprised in the SWB and in other applications that may reside in CISE from software in the UE, also referred to as UE ambient software, that may be used for tasks not associated with MyCompany resources, and from software external to the UE. In an embodiment the SWB monitors and controls movement of data into and out from CISE and between applications in CISE and access to MyCompany resources to enforce CyberSafe and/or MyCompany security policies. In an embodiment Cybersafe supports high resolution monitoring and control of motion of data into and out from CISE and propagation of data by the communications system by configuring the SWB to provide high visibility to the motion of the data. Providing high visibility comprises making communications outgoing from CISE visible before the SWB encrypts the outgoing communications and communications incoming into CISE after the SWB decrypts the incoming communications. The isolation and control of movement and access to data, and enforcement of security policies in accordance with an embodiment of the disclosure operate to provide enhanced protection against cyber damage and security against leakage of data from and/or into MyCompany resources that may result from communication with and via a MyCompany UE.

In an embodiment monitoring and controlling motion of digital data comprises vetting information content of the data and controlling the motion of the data responsive to the vetted content. Vetting content may comprise determining textual, image, audio, and/or video components of the data and processing the components to determine their respective information content. Controlling motion of the data responsive to data content may comprise denying access to the data, masking or deleting a portion of the data, and/or watermarking the data optionally responsive to assessments of confidentiality of the data and clearance of a user engaging with the data

Monitoring and controlling data motion may comprise monitoring user behavior operating and using a MyCompany UE to determine user key performance indicators (U-KPIs) that characterize the user behavior when interacting with the MyCompany UE and MyCompany digital resources and using the U-KPIs to control data motion. Optionally, monitoring user behavior comprises recording and storing at least a portion of a communication session that the user engages in using the MyCompany UE.

Optionally monitoring motion of data may comprise determining and recording trajectories that a digital resource traverses between communication nodes comprised in CyberSafe and/or between a CyberSafe node and a node external to Cybersafe and changes that the resource may undergo at the nodes. Communication nodes comprise by way of example, UEs, Websites, and/or CCaaSs (cloud computing as a service) resources. Communication nodes in or external to CyberSafe are nodes that are respectively controlled or not controlled by CyberSafe.

This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.

BRIEF DESCRIPTION OF FIGURES

Non-limiting examples of embodiments of the invention are described below with reference to figures attached hereto that are listed following this paragraph. Identical features that appear in more than one figure are generally labeled with a same label in all the figures in which they appear. A label labeling an icon representing a given feature of an embodiment of the invention in a figure may be used to reference the given feature. Dimensions of features shown in the figures are chosen for convenience and clarity of presentation and are not necessarily shown to scale

FIG. 1 schematically shows a MyCompany UE configured having a CyberSafe CISE and SWB to provide cyber security to an enterprise referred to as MyCompany, in accordance with an embodiment of the disclosure;

FIGS. 2A-2C show a flow diagram of a procedure by which the SWB shown in FIG. 1 may engage in a handshake with a CyberSafe hub to acquire a token for use in accessing a MyCompany resource, in accordance with an embodiment of the disclosure;

FIGS. 3A-3C show a flow diagram of a procedure by which access and motion of a MyCompany resource may be controlled responsive to data content of the resource in accordance with an embodiment of the disclosure;

FIGS. 4A-4B show a flow diagram of a procedure by which the SWB shown in FIG. 1 may operate to implement a high resolution observation procedure for observing activity of a MyCompany user interacting with a MyCompany resources, in accordance with an embodiment of the disclosure; and

FIG. 5 shows a flow diagram of a procedure by which the SWB shown in FIG. 1 may operate to provide a MyCompany user with browsing isolation, in accordance with an embodiment of the disclosure.

DETAILED DESCRIPTION

In the discussion, unless otherwise stated, adjectives such as “substantially” and “about” modifying a condition or relationship characteristic of a feature or features of an embodiment of the disclosure, are understood to mean that the condition or characteristic is defined to within tolerances that are acceptable for operation of the embodiment for an application for which it is intended. Wherever a general term in the disclosure is illustrated by reference to an example instance or a list of example instances, the instance or instances referred to, are by way of non-limiting example instances of the general term, and the general term is not intended to be limited to the specific example instance or instances referred to. The phrase “in an embodiment”, whether or not associated with a permissive, such as “may”, “optionally”, or “by way of example”, is used to introduce for consideration an example, but not necessarily a required configuration of possible embodiments of the disclosure. Unless otherwise indicated, the word “or” in the description and claims is considered to be the inclusive “or” rather than the exclusive or, and indicates at least one of, or any combination of more than one of items it conjoins. Whereas features and actions of flow diagrams shown in the figures and discussed in the specification are presented and discussed substantially in a sequential order prescribed by sequential block numbers referencing blocks in the figures, actions presented in the blocks may be undertaken simultaneously or in orders that are not prescribed by the block numbers.

FIG. 1 schematically shows a CyberSafe system 50 that operates to provide cyber secure communication for a communications network of an enterprise 20, also referred to as MyCompany 20 or simply MyCompany, and for MyCompany users 10 that use the communications network, in accordance with an embodiment of the disclosure. MyCompany may have cloud based digital resources 22, premises 24 housing on-premise servers (not shown) for storing and processing MyCompany on-premise digital resources 28, and WPUEs 30 for use by MyCompany users 10 when on-premise for accessing, using, and processing the cloud based and on-premise resources to conduct MyCompany business. MyCompany may permit users 10 when off-premise to access MyCompany resources from various locations using any of various types of BYODs 32. It is assumed that MyCompany users 10 may use their respective BYODs 32 for personal activities, and that MyCompany users when on-premise may, in accordance with permissions defined by MyCompany policy, be allowed to use WPUEs 30 for personal activities. Personal activities may include web browsing, social networking, uploading, and downloading material, via the cloud infrastructure of communication nodes 41 and websites 40. The MyCompany network, may be required to support, as schematically indicated by double arrowhead dashed lines 43, communication between any of various combinations of MyCompany on-premise digital resources 28, cloud based digital resources 22, on-premise users 10 using WPUEs 30 installed in a MyCompany premises 24, and off-premise users 10 using BYODs 32 at various off-premise locations.

In accordance with an embodiment of the disclosure CyberSafe 50 comprises an optionally cloud based CyberSafe processing and data hub 52 and a software architecture 60 that operates to cyber protect MyCompany communications and digital resources in each of a plurality of MyCompany UEs, BYODs 32, and/or WPUEs 30 used by MyCompany users 10 to access and use MyCompany resources. CyberSafe hub 52 comprises and/or has access to cloud based and/or bare metal processing and memory resources required to enable and support functionalities that the hub provides to CyberSafe 50 and components of CyberSafe.

By way of example, FIG. 1 schematically shows CyberSafe software architecture 60 that configures a MyCompany UE 33, to protect MyCompany digital resources, at rest and/or in motion, and provides cyber secure access to the resources for a user 10 that may use MyCompany UE 33. MyCompany UE 33 may be a BYOD or a WPUE and be referred to as My-WorkStation 33.

Architecture 60 comprises a CyberSafe isolated environment, CISE 62, that is isolated from ambient software 35 resident in My-WorkStation 33 and comprises a SWB 64, resident in CISE 62. Ambient software 35 may typically include data and applications that are not intended for use in conducting MyCompany business. By way of example, ambient software 35 may comprise a browser, an office suite of applications, a clipboard, an album of family images, a photo album and WhatsApp. CISE 62 may also include a set 65 of applications optionally imported from ambient software 35 and wrapped and optionally containerized by CyberSafe to associate cybersecurity features required by CyberSafe and/or MyCompany policy features with the applications. In an embodiment CISE comprises an ensemble of shared secure services 66 that may be accessed for use by SWB 64 and by applications in set 65 via SWB 64. Shared secured service 66 optionally comprise a secure clipboard and a secure encrypted File System.

CISE 62 provides an isolated security domain delimited by a substantially continuous security perimeter generated and supported by security applications, features, and functionalities of SWB 64, shared secure services 66, and wrapping of wrapped applications 65. In accordance with an embodiment, CISE 62 may be configured to provide cyber security and isolation using methods of, and compliant with, such standards as PCIDSS (Payment Card Industry Data Security Standard), HIPAA (Health Insurance Portability and Accountability Act), and/or SOC2 (American Institute of CPAs' Service Organization Control). Optionally CISE 62 is isolated from the ambient software on the network level.

In an embodiment to provide isolation and security SWB 64 is configured to monitor and control ingress and egress of data respectively into and out from CISE 62 and between applications in CyberSafe wrapped applications, shared secure services 66 and/or SWB 64. SWB 64 is advantageosuly configured by CyberSafe to enforce CyberSafe and/or MyCompany security policies relevant to access to MyCompany data and movement of data within and into and out from CISE. The isolation and control of movement of and access to data, and enforcement of policies operate to provide enhanced protection against cyber damage and security against leakage of data from and/or into MyCompany resources that may result from communication with and via a MyCompany UE.

In an embodiment monitoring ingress and egress of data comprises monitoring communications supported by SWB 64, storing and processing data comprised in the monitored communications and making the data available to the CyberSafe hub and to MyCompany IT. In an embodiment, monitoring is performed on communications outgoing from CyberSafe isolated environment CISE 62 (FIG. 1 ) before the outgoing communications are encrypted by SWB_(b) and on communications incoming into CISE after the incoming communications are decrypted by SWB 64. As a result user browsing is substantially completely visible to CyberSafe and to MyCompany and can be processed locally or remotely.

Monitoring may be substantially continuous, stochastic, or periodic. Stochastic monitoring comprises monitoring communications for monitoring periods of limited duration that begin at onset times that are randomly determined, optionally in accordance with a predetermined probability function or in response to a “trigger” event such as an event that is considered anomalous and warrants attention. Periodic monitoring comprises continuous monitoring of communications during monitoring periods at periodic onset times. Monitored communications may be mirrored by SWB 64 to a destination in CyberSafe hub and/or MyCompany for storage and/or processing or may be filtered for data of interest before being transmitted to a destination in CyberSafe hub and/or MyCompany for storage and/or processing. Features and constraints that configure how monitored communications are handled by SWB 64 may be determined based on CyberSafe and/or MyCompany policy. Such policy may specify how processing of data is shared between the local SWB and the CyberSafe hub.

In an embodiment, SWB 64 may be an independent application comprising CyberSafe features and/or functionalities, or an existing web browser, such as Google Chrome, Microsoft Edge, Apple Safari, Mozilla Firefox, Opera, or Brave, modified and provided with additional CyberSafe features and/or functionalities by changes and/or additions to browser code and/or by integrating with CyberSafe extensions. The features and functionalities may be incorporated into the existing browser and the browser converted to a CyberSafe SWB by: interfacing with the input and output of the existing browser using operating system hooks; patching the original binary of the browser; building a dedicated extension on top of the browser's API and/or SDK; and/or dynamically modifying memory of the browser when the browser is in operation.

By way of example, the features and/or functionalities, hereinafter generically referred to as functionalities, may comprise, at least one or any combination of more than one of functionalities that enable SWB 60 to: cooperate with a MyCompany IDP to verify and authorize a user 10 to access CISE 62 and MyCompany resources; acquire data characterizing websites visited by MyCompany users that may be used to classify cyber risks associated with the websites; acquire data characterizing browser extensions that may compromise SWB 64 security features; acquire data that may be processed to determine normal behavior and use of MyCompany resources by MyCompany users as a group and/or as individuals; monitor engagement of a MyCompany user with a MyCompany resource and control the engagement to enforce CyberSafe and/or MyCompany security constraints.

In an embodiment enforcing CyberSafe and/or MyCompany security constraints comprises requiring that all communications between UE 33 and a MyCompany resource be propagated via SWB 64 and CyberSafe tunnels that connect the SWB to the resource and enforcing CyberSafe and/or MyCompany permissions to the resources. Optionally, enforcing security constraints comprises identifying anomalies in communications between UE 33 and a company resource and operating to eliminate or ameliorate damage from an identified anomaly and generate an alert to its occurrence.

Flow diagrams presented in FIGS. 2A-5 show elements of procedures performed by a CyberSafe System and an SWB, such as CyberSafe system 50 and SWB 64, that exhibit and illustrate functionalities of the CyberSafe system and of the SWB, in accordance with an embodiment. The discussion assumes that the CyberSafe system provides cyber security services to a given MyCompany enterprise having a plurality of users U_(n) (1≤n≤N) identified by respective user IDs, U-ID_(n) (1≤n≤N). The users are assumed to have access to and use user equipment identified by user equipment IDs, UE-ID_(e) (1≤e≤E), and that CyberSafe has configured the UEs with CISEs and CyberSafe browsers, SWB_(b), (1≤b≤B), identified by SWB browser IDs, B-ID_(b)

FIGS. 2A-2C show a flow diagram 100 of a procedure by which a given user U_(n) using user equipment UE_(e) contacts CyberSafe security hub 52 to request authorization to access and use CISE in UE_(e) and have a resident SWB_(b) in CISE issued a security token for access to MyCompany resources.

In a block 102 user U_(n) operates UE_(e) to sign in to CyberSafe security hub 52 and submit a request for the security token, the request comprising an Extended ID that includes: the user ID, U-ID_(n); the user equipment ID, UE-ID_(e); and a SWB_(b)ID, B-ID_(b) that identifies the SWB installed in UE_(e). U-ID_(n) may include the username, a password, and/or such data that associates the user with UE_(e), SWB_(b), and/or MyCompany, such as a date at which the user was first registered as a MyCompany user. UE-ID_(e) may include any suitable identifier such as a MAC (media access) address, a UUID (Universal Unique Identifier), or an IMSI (international mobile subscriber identity), and/or information that associates UE_(e) with user U_(n), SWB_(b), and/or MyCompany. The B-ID_(b) may include a browser user agent string, any suitable identifier that CyberSafe assigns SWB_(b), and/or information that associates SWB_(b) with UE_(e), U_(n), and/or MyCompany.

It is noted that a given user U_(n) may be associated with more than one UE_(e) and/or more than one SWB_(b), and the user ID U-ID_(n) may comprise data that identifies the associations. Similarly, a given user UE_(e) may be associated with more than one U_(n) and/or more than one SWB_(b), and a given SWB_(b) with more than one U_(n) and/or more than one UE_(e), and the respective IDs, UE-ID_(e) and B-ID_(b) may comprise data that maps the associations. Any combination of one or more of U_(n), UE_(e), and/or SWB_(b) may comprise a Time of Day (ToD) for each of at least one previous sign in to CyberSafe.

Optionally, in a block 104 the CyberSafe Security Hub authenticates the Extended ID. Authenticating the Extended ID may comprise engaging in a multifactor, optionally a three factor, authentication of user U_(n) and determining consistency of the associations and/or ToDs between any combination of two or more of U-ID_(n), UE-ID_(e), or B-ID_(b).

In a decision block 106 if the Extended ID is not OK the hub proceeds to a block 142, denies the requested token, and optionally sends an alert of the refusal to the CyberSafe hub. On the other hand if the Extended ID is OK the hub optionally proceeds to a decision block 108 to decide whether or not to run an integrity test on the SWB_(b) software. The decision to run or not to run an integrity test may depend on a MyCompany and/or CyberSafe testing policy. The policy may depend on when the CyberSafe hub ran a last integrity test on the SWB_(b), and/or UE_(e), a user profile characterizing user U_(n) browsing behavior and internet use pattern, and/or a feature of a cyberattack landscape. For example, MyCompany may have a policy that a delay between integrity tests be no less than or greater than certain lower and upper bound delays. A decision may depend on whether user U_(n) browses to cyber dangerous websites listed in a list of dangerous websites at a frequency greater than a predetermined frequency or whether the user tends to be lax in updating passwords or patching applications. A cyberattack landscape may comprise frequency and/or severity of cyberattacks that have recently been experienced by MyCompany or other enterprises and/or what types of cyberattacks have been encountered. Optionally, if the decision in decision block 108 is to skip an integrity test, the hub proceeds to a block 140 and issues the desired token. If the decision is to undertake an integrity test, the hub may proceed to a block 110 and retrieve from a database the hub comprises or to which the hub has access, a set, “SIT”, of at least one software integrity test, “sit_(i)”, where SIT={sit_(i)|1≤i≤I} that may be used to determine integrity of the SWB_(b) software. An exemplary SIT may comprise at least one, or any combination of more than one of:

sit₁ = CRT(challengeresponsetest); sit₂ = BAT(behavioralattestationtest); sit₃ = AV(antivirustest); sit₄ = EDR(endpointdetectionandresponse); sit₅ = BDS(binarydigitalsigning); ⋮ sit_(I)

In a block 112 the CyberSafe hub determines a weight vector WIT comprising a weight wit_(i) for each sit_(i) that provides an estimate for how appropriate the test sit_(i) is for determining integrity of the SWBb software. In an embodiment a wit_(i) for a given sit_(i) is a function of:

-   -   UE_(e) hardware type, for example if the UE_(e) is a mobile         device, a tablet, or desktop which may limit what types of the         given sit_(i), may be performed on the UE_(e);     -   sensitivity, the true positive rate of the given sit_(i);     -   specificity, the true negative rate of the given sit_(i);     -   nuisance rating, which provides a measure of inconvenience         performance of the test causes user UE_(e);     -   past performance of the test; and/or     -   a current cyberattack context, which identifies current         prevalence and severity of cyberattack types.

In a block 114 CyberSafe hub runs a selection of tests sit_(i) on SWB_(b) software responsive to their respective weights wit_(i), for example where a greater weight wit_(i) indicates greater relevance, by selecting integrity tests sit_(i) for which their respective weights are greater than a median weight wit_(i).

In a block 116 CyberSafe hub determines a value for a measure of a QoI(e,b) (quality of integrity) for SWB_(b) software in UE_(e) responsive to a measure of integrity returned by each of the selected tests sit_(i). In an embodiment QoI(e,b) is an average of the measures of integrity provided by the sit_(i) weighted by their respective weights wit_(i). Optionally in a decision block 118 CyberSafe hub 52 determines if the QoI value is satisfactory or not. If the QoI is not satisfactory the hub proceeds to block 142 and denies issuing the token and optionally sends an alert. On the other hand if the QoI is satisfactory the hub proceeds to a decision block 120 to determine whether or not to run ambient software environment tests on UE_(e)

Software environment tests are tests to determine to what extent, if at all, ambient software in UE_(e) has been compromised by cyber damage or is insufficiently protected against cyber damage. The decision whether or not to perform the environment test on UE_(e) may be based on many of the same considerations that are weighed when making the decision as to whether or not perform to integrity tests. For example, the decision may depend on MyCompany and/or CyberSafe policy and such factors as UE_(e) hardware, for example whether the UE_(e) is a mobile phone or laptop, when a last environment test was run on UE_(e), a browsing behavior pattern of user U_(n), and/or a feature of a cyberattack landscape.

Optionally, if the decision in decision block 120 is to skip the software environment test, the CyberSafe hub may proceed to block 140 and issue the desired token. If on the other hand the decision is to undertake an environment test, the hub may optionally proceed to a block 110 and retrieve from a database a set “HVF(e)” of at least one cyberattack vulnerability feature hvf_(e,j) to be determined as present or absent, where HVF(e)={hvf_(e,j)|1≤j≤J}. HVF(e) may comprise static and/or dynamic vulnerability features. Static vulnerability features are features that are code and/or data elements comprised in the ambient software of UE_(e) that are considered to render the ambient software and/or digital resources that are not comprised in the ambient software, such as CyberSafe and/or MyCompany resources, vulnerable to cyberattack. Dynamic vulnerability features are temporary vulnerability features, such as whether the UE_(e) is connected to a public WiFi or to a cyber dangerous website, that characterize a current use of UE_(e). An exemplary HVF(e) may comprise at least one, or any combination of more than one of vulnerability features whose presence or absence may be determined by response to, optionally, the following queries:

hvf_(e, 1) = AV(anti − virus)/EDR(EndpointDetection&Response)installed?; hvf_(e, 2) = firewallinstalledandenabled?; hvf_(e, 3) = OS(operatingsystem)patchedtothelatestversion?; hvf_(e, 4) = applicationspatchedtolatestversions?; hvf_(e, 5) = accesstoUE_(e)requireauthentication?; hvf_(e, 6) = dangeroussoftwaredefaultspresent?; hvf_(e, 7) = ispublicWi − Fibeingused?; hvf_(e, 8) = UE_(e)connectedtoaVPN(virtualprivatenetwork)?; hvf_(e, 9) = securitylevelofconnectednetwork?; hvf_(e, 10) = securitymisconfigurations?; hvf_(e, 11) = crosssitescripting?; hvf_(e, 12) = erraticpowerprovision?; ⋮ hvf_(e, J).

Optionally, in a block 124 CyberSafe hub scans the UE_(e) ambient software environment to detect presence of each hvf_(e,j) and determine a risk vector HVR(e) comprising a cyberattack risk estimate hvr_(e,j) for each hvf_(e,j), where HVR(e)={hvr_(e,j)|1≤j≤J)}. Determining a risk estimate for a given vulnerability hvf_(e,j) is generally dependent on the type of vulnerability and a cyberattack landscape. For example, determining a risk estimate for a given public Wi-Fi may be dependent on a physical locations of the Wi-Fi, current traffic carried by the Wi-Fi at a time for which the estimate is made, and recent history of cyberattacks attempted via the Wi-Fi. Risks associated with patching may be a function of types of patching required or installed.

In a block 126 CyberSafe may scan UE e ambient software to determine a set HCC(e) of compromised components hcck in the ambient software, where HCC(e)={hcc_(e,k)|1≤k≤K}. And in a block 128 CyberSafe may retrieve from a CyberSafe and/or MyCompany database a user profile U-PRF(n) that may be used to characterize behavioral features of user U_(n) when interacting with MyCompany and/or non-MyCompany digital resources. In an embodiment U-PRF(n) comprises a set U-KPI(n) of key performance indicators (KPIs) values for user key performance indicators ukpi_(n,k), where U-KPI(n)={ukpi_(n,k)|1≤k≤K}, and a user cyber risk profile U-CRP(n) comprising values for user risk components ucrp_(n,r), where U-CRP(n)={ucrp_(n,r)|1≤r≤R}. U-KPI(n) may include values for at least one, or any combination of more than one of: user keyboard typing patterns; user mouse activity patterns; user response time to digital resource actions, use of wrapped apps; use of shared secure services; data patterns used by the user during the session, including data typed locally in the SWB; files uploaded and downloaded, filenames; interruptions to use ambient software; and/or hover times at particular web pages. Values for U-CRP(n) components may include risk estimates values, optionally derived from U-KPI(n) components values, for at least one or any combination of more than one of: careless password management; careless permissions management; reckless clicking on actionable content; deficient sensitivity to phishing bait; or risk estimate for user abusing privilege to MyCompany resources.

In a block 130 CyberSafe processes HVR(e), HCC(e), U-PRF(n), and/or a set CPA(b) of values that provide measures of security that software, such as anti-injection and/or anti-exploitation software, optionally referred to as cladding, provides to protect the SWB_(b) from cyber damage. For example, for a user with high privilege, access to MyCompany resources may be required by CPA(b) to run additional security checks and install additional security controls, such as EDR, in order to allow user access a MyCompany resource. Additionally, some capabilities that have impact on the system's vulnerability to cyberattacks may be constrained or disabled by CPA(b) if the user is accessing an unknown website or a website with low security reputation and therefore high risk. In an embodiment processing is performed by a neural network configured to operate on an input feature vector comprising component features based on components of HVR(e), HCC(e), U-PRF(n), and/or CPA(b).

Optionally, in a block 132 if the CyberSafe hub determines that the cladding protection is advantageous, the hub proceeds to block 140 and issues the requested token. If on the other hand the cladding protection is not advantageous, the hub may proceed to a block 134 to determine whether or not to amend the cladding protection to improve protection. If the hub decides not to amend, the hub may proceed to block 142 and deny the token and raise an alert. On the other hand if the decision is to amend the cladding, the hub proceeds to a block 136, amends the cladding and optionally proceeds to a decision block 138 to determine if the amendment has resulted in sufficient improvement in cyber protection or not. If the improvement is not sufficient CyberSafe hub proceeds to block 142 and denies the token.

In an embodiment once a MyCompany user U_(n), user UE_(e), and browser SWB_(b) have been provided with a token, optionally as illustrated by flow diagram 100, for presentation to interact with MyCompany resources, the SWB may be configured to provide vetting of access to and control of motion of the resources based on information content of the resources in accordance with an embodiment of the disclosure. FIG. 3A-3C show a flow diagram 200 that illustrates a procedure, optionally referred to as an information content authorization procedure (ICAP), by which CyberSafe, MyCompany, and/or SWB_(b) may cooperate to provide control of access and motion of a MyCompany resource with which user U_(n) attempts to engage, in accordance with an embodiment of the disclosure.

In a block 202 user U_(n) submits, optionally an extended ID, comprising a U-ID_(n), a UE-ID_(e) and a B-ID_(b), to request a MyCompany security token from CyberSafe hub 52. In a decision block 204 CyberSafe vets the extended ID to determine if the security hub requirements are satisfied and in a block 206, if they are satisfied, grants the requested token.

Optionally in a block 208 SWB downloads and/or is provided with access to a MyCompany user profile, U-PRF(n)=(U-KPI(n)∪U-CRP(n)) for user U_(n), confidentiality levels, CON, for information sensitive features of MyCompany resources, and a user clearance profile CLR(n,e,b) for user U_(n) comprising user clearance levels, CLR, for access to the information sensitive features. An information sensitive feature, also referred to as a confidentiality sensitive feature, is any information feature of a resource that is considered by MyCompany to advantageously require limited distribution to MyCompany users based on user clearance levels. Limited distribution may be determined and implemented by assigning each information sensitive feature a confidentiality level, CON, and each MyCompany user a corresponding clearance level, CLR, for the information sensitive feature. Optionally, CON may assume a value for a confidentiality level for a given information sensitive feature equal to any integer value from an advantageous range of integers, (1−C_(m)), with larger values indicating higher confidentiality levels demanding more stringent constraints for access to the feature than lower values. CLR clearance levels may assume any value from the same range of values as CON. A user may be allowed access to a given confidentially sensitive feature only if the user is assigned a CLR level greater than or equal to a CON level of the feature. CON and CLR levels may by way of example be determined by consideration of MyCompany personnel or by using an artificial intelligence (AI) for example, a machine learning algorithm, such as a decision tree or clustering algorithm, or a convolutional neural network (CNN), educated by supervised and/or unsupervised learning.

The confidentiality levels may comprise sets of confidentiality levels STF, SIF and SAF for confidentiality sensitive text features that are character strings, optionally regex (regular expression) strings, image features, and audio features respectively that a MyCompany digital resource may include. Confidentiality levels for video material which comprises a sequence of images generally associated with audio material and/or textual material such as for example, a tickertape or explanatory or labeling signage, may be determined based on relevant material from STF, SIF and/or SAF with appropriate processing to account for temporal correlations.

Set STF optionally comprises a confidentiality level CON((stf_(α,η)) for a confidentiality sensitive text feature stf_(α,η) of plurality of α (1≤α≤α_(m)) confidentiality sensitive text features and each of at least one data class, CLS_(η) (1≤η≤η_(m)), to which the text feature belongs. A confidentiality sensitive text feature may be any text object or function of a text object that is considered to comprise by itself or in combination with at least one other text object confidentiality sensitive information. By way of example, a confidentiality sensitive text feature may be or comprise a character string, such as a regex (regular expression) string, an N-gram, a pattern of text features, for example a cluster of at least two associated text phrases at a spatial distance from each other in a resource, or a confidentiality sensitive text feature from a cluster of confidentiality text features related to each other by a textual similarity distance. A confidentiality sensitive text feature may by way of example comprise or otherwise indicate or disclose marketing data, such as release data for a new product or a feature of a new advertising campaign, financial data such as a profit or loss statement, management data, such as an employee evaluation, and/or technical data such as a chemical formula or detail of a manufacturing process. A data class CLS₇₂ may be any of a plurality of η classes that MyCompany may consider advantageous for classifying information for limited distribution. And as indicated by the above examples of confidentiality sensitive text features, the data classes may by way of example comprise a class for each of marketing data, financial data, management data, technical data, and/or RnD data. In an embodiment data classes may by way of example be determined by consideration of MyCompany personnel or by using an artificial intelligence (AI) for example, a machine learning algorithm, such as a decision tree or clustering algorithm, or a convolutional neural network (CNN), educated by supervised and/or unsupervised learning.

Similarly, set SIF optionally comprises a confidentiality level CON((sif_(β,η)) for each confidentiality sensitive image feature sif_(β,η) of a plurality of β (1≤β≤β_(m)) image features and at least one data CLS_(η) used to classify confidentiality sensitive text feature data, to which the image feature is considered to belong. A confidentiality sensitive image feature may be any image feature, or function of an image feature that is considered to comprise by itself or in combination with at least one other image feature confidentiality sensitive information. By way of example, a confidentiality sensitive image feature may be an image of a new product such as a new sport shoe, a revenue graph, or a management chart. A confidentiality sensitive image feature may be a feature derived from an image. For example, a new armored personnel carrier (APC) may not be confidential per se, but a feature, such as vertical tire distortion derived from an image of the APC, may be considered confidentiality sensitive because weight or loading of the APC may be derived from the distortion.

Similarly, set SAF optionally comprises a confidentiality level CON((saf_(γ,η)) for each confidentiality sensitive audio feature saf_(γ,η) of a plurality of γ (1≤γ≤γ_(m)) audio features of a soundtrack and at least one data class CLS_(η) to which the audio feature is considered to belong.

Clearance profile set, CLR(n,e,b) optionally comprises clearance levels CLR_(n)(stf_(α,η)), CLR_(n)(sif_(β,η)), CLR_(n)(saf_(γ,η)), for confidentiality sensitive information features stf_(α,η), sif_(β,η) saf_(γ,η), which may be generically referred to as CLR_(n)(α,β,γ,η) or simply CLR.

In a block 210 user U n uses SWB_(b) to request access to a particular MyCompany digital resource for authorization to interact with the resource for any of various activities such as for example, navigating, viewing, downloading, uploading, copying, or modifying information. In a decision block 212 MyCompany and or the particular resource, may determine if U_(n) using SWB_(b) satisfies standard authorization requirements by presenting a suitable standard MyCompany permission for access to the resource and satisfying associated ID authentication constraints. The standard authorization requirements do not comprise vetting the resource for confidentiality sensitive information features and configuring access to the document based on confidentiality levels for the features and clearance levels for the user that are additional to the standard MyCompany permission. If the standard authorization requirements are not met, ICAP proceeds to a block 244, denies user U_(n) access to the resource and ends the procedure.

On the other hand, if the standard authorization procedure associated with block 212 succeeds, ICAP may proceed to a decision block 214 to determine if the resource is a “clearance resource” that requires processing user U n clearances CLRs and confidentiality levels CONs determined for sensitive information features in the resource to approve authorization. If the resource is not a clearance resource, ICAP proceeds to a block 242, approves the request and ends.

On the other hand, if the resource is a clearance resource, ICAP optionally proceeds to a block 216 to determine if there are any anomalies in the user profile U-PRF(n) and or in the operating environment of the UE_(e) and SWB_(b). An anomaly in the user U-PRF(n) may by way of example, be a change in a value for a user key performance indicator, ukpi_(n,k), in the set U-KPI(n), such as the user typing pattern, use of data patterns, or response time, that is greater than a standard deviation from the value for the ukpi_(n,k) downloaded or accessed in block 208. An anomaly in U-PRF(n) may by way of example, be a change in a value for a user risk estimate ucrp_(n,r) of the set U-CRP(n) such as a risk estimate for reckless clicking on actionable content or careless permissions management greater than a standard deviation for the estimate. Anomalies in the operating environment may by way of example comprise excessive overuse or underuse of MyCompany network bandwidth, unusually labile communications traffic on the network, or frequent interruptions in power supply to the network, or to the user UE_(e).

If an anomaly is detected, ICAP optionally proceeds from block 216 to a block 218 to adjust confidentiality levels CONs and/or user clearance levels CLRs. For example, for detrimental changes ICAP may increase CON levels and/or decrease user U_(n) CLR levels. For advantageous changes ICAP may decrease CON levels and/or increase user U_(n) CLR levels. Following adjustment ICAP may proceed to a block 220 to determine whether the resource comprises text, image, audio data, or a mixture of two or more of the data types. If on the other hand no anomaly is detected, ICAP may proceed directly from block 216 to block 220. From block 220 ICAP may proceed to a block 222 to determine data classes CLS_(η) to which information in the resource may be classified. Determining information types and data classes may be performed by accessing metadata characterizing the resource or by sampling the resource and using a suitable classifier to determine the information type and classes.

Optionally in a decision block 224, if it has been determined that the MyCompany resource comprises text information ICAP proceeds to a block 226 to determine optionally for each of at least one data class CLS_(η), to which the resource is classified in block 222, presence of confidentiality sensitive text features stf_(α,η) and determines a text confidentiality figure of merit RCON(TxT) for the resource and a text clearance figure of merit UCLR(TxT) for user U_(n), optionally in accordance with expressions:

RCON(TxT)=Σ_(α,η)n(stf_(α,η))·CON(stf_(α,η)), and  (1)

UCLR(TxT)=Σ_(α,η)n(stf_(α,η))·CON(sif_(α,η))·

((CLR(stf_(α,η))−CON(stf_(α,η))+δ).  (2)

In expressions (1) and (2) n(stf_(α,η)) is a number of times confidentiality sensitive text feature stf_(α,η) appears in the resource,

is the Heaviside function and δ is a bias value less than one that assures that

is equal to 1 if CLR(stf_(α,η))=CON(stf_(α,η)).

Optionally, in block 226 if (RCON(TxT)−UCLR(TxT)) is greater than or equal to a predetermined threshold, TH(TxT), ICAP proceeds to a block 250 to deny the request and end. On the other hand if (RCON(TxT)−UCLR(TxT)) is less than the threshold TH(TxT), ICAP may approve the request but operate to locally mask or delete those confidentiality sensitive text features stf_(α,η) in the resource for which (CON(stf_(α,η))−CLR(stf_(α,η))) is greater than a predetermined text masking threshold TH(MTxT).

Local masking or deleting a given text feature stf_(α,η) in accordance with an embodiment refers to masking or deleting the given text feature in a version of the resource at the user interface (UI) of a UE_(e) displaying the resource to a user, without affecting data defining an original version of the resource as received by the UE_(e). Local masking or deleting is optionally performed by hooking the SWB_(b) renderer in the UE_(e) to executable instructions that mask or delete the given feature without affecting the data defining the original resource and as a result is prevented from changing the resource at a source from which it was downloaded to CISE by SWB_(b). For example, local masking or deleting for a webpage does not change the HTML (Hypertext Markup Language), CSS (Cascading Style Sheets), or JavaScript as received by the SWB_(b), nor a DOM (Document Object Model) tree for the webpage.

In decision block 224, if text information is not present in the MyCompany resource ICAP proceeds to a decision block 230. In decision block 230, if it has been determined that the MyCompany resource comprises image information, ICAP may proceed to a block 232 to determine probabilities,

(sif_(β,η)), that image features sif_(β,η) respectively are present in the image information. Optionally, probabilities

(sif_(β,η)) are determined by processing the image information using a deep convolution neural network (DNN). Optionally in a block 234 ICAP uses

(sif_(β,η)) to determine an image confidentiality figure of merit RCON(ImG) for the MyCompany resource and an image clearance figure of merit UCLR(TxT) for user U_(n) optionally in accordance with expressions:

RCON(ImG)=Σ_(β,η)

(sifβ,η)·n(sifβ,η)·CON(sifβ,η); and  (3)

UCLR(ImG)=Σ_(β,η)

(sif_(β,η))·n(sif_(β,η))·CON(sif_(β,η))

((CLR(sif_(α,η))−CON(sif_(α,η))+δ).  (4)

Optionally, in block 236 ICAP may determine if (RCON(ImG)−UCLR(ImG)) is greater than or equal to a predetermined threshold, TH(ImG), and if so, goes to block 250 to deny request and end. On the other hand if (RCON(ImG)−UCLR(ImG)) is less than the threshold TH(ImG), ICAP may approve the request but operate to locally mask or delete those confidentiality sensitive image features sif_(α,η) for which (CON(sif_(α,η))−CLR(sif_(α,η))) is greater than a predetermined image masking threshold TH(MImG).

If as determined in decision block 230, image information is not present in the MyCompany resource ICAP may proceed to a decision block 238. In decision block 238, if it has been determined that the MyCompany resource comprises audio information, ICAP may proceed to a block 240 and optionally use a natural language processor (NLP) to determine for the audio information presence of saf_(γ,η). In the block ICAP may determine for saf_(γ,η) found to be present in the MyCompany resource an audio confidentiality figure of merit RCON(Audio) for the MyCompany resource and an audio clearance figure of merit UCLR(Audio) for user U_(n) optionally in accordance with expressions:

RCON(Audio)=Σ_(α,β) n(saf_(γ,η))·CON(saf_(γ,η)), and  (5)

UCLR(Audio)=Σ_(α,δ) n(saf_(α,δ))·CON(saf_(γ,η))

((CLR(saf_(γ,η))−CON(saf_(γ,η)))  (6)

In a block 242 ICAP determines if (RCON(Audio)−UCLR(Audio)) is greater than or equal to a predetermined threshold, TH(Audio), and if so goes to block 250 to deny request and end. On the other hand if (RCON(Audio)−UCLR(Audio)) is less than the threshold TH(Audio), ICAP may approve the request but operate to locally mask or delete those confidentiality sensitive audio features saf_(α,η) for which (CON(saf_(α,η))−CLR(saf_(α,η))) is greater than a predetermined audio masking threshold TH(MAudio).

In a block 244 ICAP may determine whether RCOR(TxT) is greater than a predetermined text watermarking threshold TH(TxT−Wmark), RCOR(ImG) is greater than a predetermined image watermarking threshold TH(ImG−Wmark), or RCOR(Audio) is greater than a predetermined audio watermarking threshold TH(ImG−Wmark), and if so operates to locally watermark the MyCompany resource with a visible or invisible watermark. Local watermarking in accordance with an embodiment is performed similarly to performing local masking or deleting, without generating changes in data defining a resource as received by a UE_(e). From block 244 ICAP optionally proceeds to a block 248, approves the request and ends.

It is noted that whereas in flow diagram 300 ICAP determines authorization, masking or deleting, and/or watermarking based on data classes CLS, resource confidentiality levels CON and user clearance levels CLR, practice of an embodiment of the disclosure is not limited to using CLS, CON, and/or CLR as illustrated in the flow diagram. For example, a DNN net may be trained to recognize resource data classes, confidentiality levels, and/or clearance levels and be used to determine authorization and masking or deleting given a sufficient number of training examples of resource-user pairs. Such a DNN, when provided with a profile U-PRF(n) for a user U_(n) using a CyberSafe browser SWB_(b) and a scan or feature vector of a resource may in accordance with an embodiment determine whether the user should be granted or denied authorization to engage the resource, and if granted authorization whether or not the resource should undergo feature masking or deleting. A DNN may also be trained to determine what and how a resource should be watermarked. For example the DNN may determine that a resource being processed in SWB_(b) should be watermarked with a visible or a hidden, steganographic watermark before the SWB_(b) transmits the resource.

To facilitate protection of and secure access to MyCompany resources CyberSafe may configure a MyCompany UE_(e) so that an SWB_(b) in the UE_(e) may implement a high resolution observation (HIRO) procedure for observing activity of a user operating the UE_(e) to interact with MyCompany resources, in accordance with an embodiment of the disclosure.

FIGS. 4A-4B illustrate operation of a HIRO procedure 300 for monitoring activity of a user U_(n), in accordance with an embodiment of the disclosure.

In a block 302 a user U_(n) who has been authorized by CyberSafe to access and use MyCompany resources subject to and as constrained by MyCompany and/or CyberSafe policies is “tagged” by MyCompany as using UE_(e) and SWB_(b) to interact with MyCompany resources, in accordance with an embodiment. Optionally, in a block 304 MyCompany instructs SWB_(b) to implement HIRO to observe activity of U_(n) and in a block 306 HIRO initializes a monitoring mode for monitoring user U_(n) activities while the user is engaging with MyCompany.

A monitoring mode is optionally defined by at least one or any combination of more than one of: user KPIs, ukpi_(n,k), optionally referred to as active ukpi_(n,k), that are selected from the set U-KPI(n)={ukpi_(n,k)|1≤k≤K} of user key performance indicators to be monitored by the mode; a temporal configuration characterizing time dependence of the monitoring; a transmission mode, batch or streaming, in accordance with which monitored ukpi_(n,k) data is transmitted by SWBb to MyCompany; and/or a data analytics profile that specifies at least one desired type of analytics data to be generated by processing the monitored data.

Active user KPIs, ukpi_(n,s) selected for monitoring may comprise any of exemplary ukpi_(n,k) (1≤k≤K) noted above with respect to flow diagram 100. By way of additional examples, exemplary ukpi_(n,k) may be a number and type of websites or resources that the user engages per session and any of various common human-computer action events that a user performs per unit time to communicate with a computer. By way of example, common human-computer action events are, “mouseover”, “mouseout”, “submit” and/or “resize”, events.

A temporal configuration of a monitoring mode may be characterized as a duty cycle or continuing configuration, and the corresponding monitoring mode as a duty cycle mode or a continuous monitoring mode respectively. A duty cycle mode for an active ukpi_(n,k) is a mode for which the active ukpi_(n,k) is monitored during a monitoring period of interest for each of a plurality of discrete sampling periods separated by hiatuses during which the active ukpi_(n,k) is not monitored. A duty cycle for the mode is equal to a percent of the monitoring period of interest for which the active ukpi_(n,k) is monitored. If the sampling periods have a same duration and a substantially constant sampling frequency at which the sampling periods are initiated, the duty cycle is substantially equal to the sampling frequency multiplied by the duration of the sampling periods divided by the duration of the monitoring period of interest. Sampling periods and sampling frequencies of a duty cycle monitoring mode may be the same for a portion or all active ukpi_(n,k). Different active ukpi_(n,k) for at least some of the active ukpi_(n,k) may have different sampling periods and/or sampling frequencies. A monitoring mode for an active ukpi_(n,k) is considered to be a continuous monitoring mode if the active ukpi_(n,k) is monitored substantially continuously for the total duration of the monitoring period of interest and the monitoring mode is not advantageously characterized as a duty cycle.

In an embodiment the analytics data specified by the data analytics profile may comprise at least one or any combination of more than one of proactive help analytics, security analytics, enrichment analytics, and/or audit analytics.

Proactive help analytics involves processing monitoring data to infer a possible user need for help and prescribing substantive help responsive to the need. The inference may be based on, by way of example, identifying a feature of a frenetic search pattern exhibited by the user, an unusual user activity hiatus, a screen shot at a time of the hiatus, an unusual user latency in responding to a resource action. Substantive help may by way of example be determined and configured based on heuristics, a machine learning algorithm, and/or response to a query submitted to a generative AI.

Security analytics comprises processing monitoring data to identify an anomalous event that might indicate a risk for cyber damage and/or infringement of MyCompany policy. An anomalous event may be determined by identifying an outlier value or outlier member of a component of any of the sets used to determine the initial monitoring mode in block 306. An outlier value for a component, such as a user KPI, ukpi_(n,k), or a website risk vulnerability, wrv_(w,v), may for example be a value for the component that deviates by an amount greater than a standard deviation from an, optionally historical, average value for the component. An outlier member may be for example, a new and possibly high risk website that the user attempts to access for a first time. Response to the anomalous event may comprise invoking an ICAP procedure optionally similar to ICAP 200 illustrated by flow diagram 200 in FIGS. 3A-3C to curtail user permissions and/or access to data in a resource, in accordance with an embodiment of the disclosure. It is noted that whereas ICAP 200 is described as managing data indicated as confidentiality sensitive information features that have been assigned respective confidentiality levels, an ICAP in accordance with an embodiment may be similarly configured to manage and respond to risk sensitive features of resources by assigning risk levels to the features and corresponding risk tolerance clearances to users.

Enrichment analytics involves processing monitoring data to identify analytics data, optionally referred to as new data, that may be used to update or add to information comprised in any of the sets used to determine the initial monitoring mode in block 306. Identifying monitored data as new data may be determined by comparing values provided by or derived from monitored data with corresponding values in sets used to determine the initial monitoring mode in block 306.

Audit analytics involves processing monitoring data to generate audit data records that identify and specify details of trajectories that a MyCompany digital resource traverses. A trajectory may be any traversal of a resource between communication nodes comprised in a MyCompany and/or a CyberSafe local or wide area network communications network (LAN or WAN respectively) and/or between a MyCompany and/or a CyberSafe node and a node external to MyCompany or CyberSafe, and changes that the resource may undergo at the nodes. An audit data record is optionally generated for each of a plurality of audit trigger events that may include by way of example: downloading a MyCompany resource, amending the resource, copying material from the resource, pasting the material to a clipboard, and/or transmitting the resource, the amended resource, or a portion of the resource to a printer. In an embodiment, an audit data record for an event occurring at a user UE_(e) comprises a value for each of a plurality of keys of key-value pairs, where the keys comprise at least one or any combination of more than one of: an event time stamp; an extended ID associated with a MyCompany user using the UE_(e), hash of metadata identifying and/or characterizing the resource, a hash of the contents of the resource or at least one portion of the resource, and a source address of a source from which the UE_(e) received the resource, and/or a destination address of a destination to which the resource is transmitted from the UE_(e).

In an embodiment HIRO may initialize the monitoring mode optionally responsive to any one or any combination of more than one of: a component of the user U_(n) profile U-PRF(n); user equipment UE_(e); a component of the risk vector HVR(e) for the UE_(e); a component of the set HCC(e) of compromised components of UE_(e) ambient software; a component of the set CPA(b) of SWB_(b) cyber cladding software attributes; and/or a component of the user clearance profile CLR(n,e,b). The initialized monitoring mode may also be determined responsive to a website ws_(w) from a set of websites WS={ws_(w)|(1≤w≤W)} monitored by MyCompany and visited by MyCompany users, and/or a value of a risk component of a set of website risk vulnerabilities WRV(w)={wrv_(w,v)|1≤v≤V)}, where wrv_(w,v) quantifies a cyber risk vulnerability for website ws_(w) determined by MyCompany or CyberSafe. Any of various artificial intelligences (AI) such as a deep neural network (DNN) or machine learning algorithm (ML) may be used to assign risk levels to vulnerabilities. Optionally, a heuristic classification is used to determine risk vulnerabilities. In an embodiment HIRO may initialize the monitoring mode responsive to a data analytics profile.

By way of a simplified example, an initialized monitoring mode for a MyCompany user having a user profile U-PRF(n) considered to indicate a relatively high risk for cyber damage may be configured as a duty cycle monitoring mode having a relatively high duty cycle or as a continuous monitoring mode. User profile U-PRF(n) may by way of example be considered to indicate a high risk if one or more user risk components ucrp_(n,r) of U-CRP(n) is considered to indicate a high risk of cyber damage. On the other hand for a MyCompany user having relatively high clearance level components CLR_(n)(α,β,γ,η) in the user clearance profile set, CLR(n,e,b), the initialized mode may be a duty cycle mode having a relatively small duty cycle.

In a decision block 308, if HIRO initializes the monitoring mode to a duty cycle mode HIRO may proceed to a block 310 and select a set of active ukpi_(n,k), determine for each of the selected ukpi_(n,k) a duty cycle, and determine if data transmission is batch or stream transmission.

On the other hand if HIRO does not initialize the monitoring mode to a duty cycle mode but to a continuous monitoring mode HIRO may proceed to a block 312. In block 312 HIRO selects active user KPIs ukpi_(n,k) for continuous monitoring and determines if data transmission is batch or stream transmission.

In a block 316 HIRO begins monitoring user activity, recording, and transmitting data to MyCompany in accordance with the initialized monitoring mode.

Optionally in a block 318 HIRO determines a substantially real-time value for a metric of user activity, optionally referred to as an activity temperature, that provides an indication of intensity of user interaction with MyCompany resources while using UE_(e). By way of example, the activity temperature may be an, optionally weighted, average of real-time monitored values for at least a portion of active user, ukpi_(n,k), optionally referred to as heat ukpi_(n,k). Optionally, HIRO determines the activity temperature as a function of a number of events per unit time determined from monitored data acquired for the heat ukpi_(n,k). In an embodiment the heat events comprise human-computer action events such as keyboard, mouse, and screen touch events that are commonly used to interact with a computer.

Optionally in a block 320 HIRO determines a difference between the real-time activity temperature and a baseline activity temperature determined from normative values for heat ukpi_(n,k) provided by user profile U-PRF(n) used in block 306 to initialize the monitoring mode for observing activity of user U_(n). If the difference is greater than a predetermined threshold difference TH(temp) in a block 322 HIRO may adjust the monitoring mode, for example by changing a duty cycle of an active and a heat ukpi_(n,k), or by changing the monitoring mode from a duty cycle mode to a continuous mode or a continuous mode to a duty cycle mode.

For example if the real-time activity temperature is relatively low, indicating a relatively low user activity, it may be advantageous to increase sampling times and duty cycles of active ukpi_(n,k) in order to acquire sufficient timely monitoring data for generating reliable analytics. Or if the activity temperature is relatively high and/or improved temporal resolution is desired it may be advantageous to decrease sampling times but increase sampling frequencies, or to change a current monitoring mode from a duty cycle monitoring mode to a continuous monitoring mode. By way of another example, if the user activity temperature is relatively low and the user is interacting with a known webpage or other resource that does not involve intense user activity it may be reasonable to reduce duty cycles when a current monitoring mode is a duty cycle mode or switch from a current continuous mode to a duty cycle mode. Adjustments to a monitoring mode may also be made by changing which user ukpi_(n,k) are active or a number of active ukpi_(n,k). In an embodiment HIRO is configured to adjust monitoring modes dynamically in real-time.

In a decision block 324, if the monitoring mode data analytics profile specifies that the monitoring mode engage in proactive help, HIRO may proceed to a block 326 and invoke help analytics to identify and respond to a user need as described above. Otherwise HIRO may proceed to a decision block 328. In decision block 328 if the analytics profile specifies that the monitoring mode engage in security analytics, HIRO may proceed to a block 330 and invoke security analytics to identify security breaches and optionally undertake remedial action to counter identified breaches as described above. Otherwise HIRO may proceed to a decision block 332. In decision block 332 if the analytics profile specifies that the monitoring mode engage in data enrichment, HIRO may proceed to a block 334 and invoke enrichment analytics to identify new data and optionally update relevant MyCompany data, such as data in the user profile U-PRF(n) and/or data in website risk vulnerabilities WRV(w). Otherwise HIRO may proceed to a decision block 336. In decision block 336 if the analytics profile specifies does not specify engaging in audit analytics HIRO may proceed to a block 340 and either end monitoring activity of user U_(n) or return to block 316 and continue monitoring. On the other hand, if in block 336 the analytics profile does specify engaging in audit analytics HIRO may proceed to a block 338, invoke audit analytics and generate audit data records for audit trigger events that enable MyCompany to audit a history of a MyCompany resource as it may move through and morph in the MyCompany network. HIRO may then proceed to block 340 and either cease monitoring activity or return to bock 316 and continue monitoring.

A hypothetical history of a given MyCompany resource, optionally a research report “X”, traversing MyCompany network illustrates operation of HIRO audit analytics, in accordance with an embodiment of the disclosure.

Let trg_(μ) represent an audit trigger event of a set of audit trigger events TRG(b)={trg_(μ)|(1≤μ≤U)} such as the trigger events referred to above that might occur in a SWB_(b) of a UE_(e) being used by a user U_(n). Let AUR(b) represent an audit data record comprising components {aur_(α)|(1≤α≤A)} generated and forwarded to MyCompany by SWB_(b) in response to an audit trigger event associated with a MyCompany resource that occurs in SWB_(b). In accordance with an embodiment of the disclosure, the components comprise values for key-value pairs discussed above and in addition advantageously an ID for the audit trigger event that caused SWB_(b) to generate and forward the audit data record to MyCompany.

Assume that MyCompany research report “X”, is downloaded to a browser SWB₁ in a UE₁ at a time ToD₁ by a MyCompany first user U₁. Downloading may be an audit trigger event, “trg₁” that causes SWB₁ to generate and upload to MyCompany a “first” audit data record, AUR(1)₁, to MyCompany. AUR(1)₁ may show that at ToD₁ user U₁ downloaded X, having a hash H1-M of metadata identifying X, and a hash H1-C of a portion of the contents of X, from an IP address A₁. A second audit data record, AUR(1)₂, generated and uploaded by SWB₁ responsive to a trigger event trg₂ of user U₁ making a change to X, shows that at a time ToD₂, U₁ changed the metadata of X. All components of AUR(1)₂ are the same as the corresponding components of AUR(1)₁ except for a metadata hash H2-M replacing metadata hash H1-M. A third audit data record AUR(1)₃ generated and uploaded by SWB₁ shows that at a time ToD₃, U₁ transmitted a document having a contents hash identical to that of H1-C and metadata hash H2-M to an IP address A₂ of a second MyCompany user U₂ operating a browser SWB₂. A fourth audit data record, AUR(2)₄, generated and uploaded by SWB₂ shows that at a time ToD₄ shortly after time ToD_(3,) user U₂ received a document bearing metadata hash H2-M from user U₁. A fifth audit data record, AUR(2)₅, generated and uploaded by SWB₂ shows that U₂ emailed to a non-MyCompany employee, a document having a third metadata hash H3-M but the same contents hash H1-C as that in audit data record AUR(1)₁ for document X. By processing uploaded audit data records, MyCompany is able to determine that the contents of audit data records AUR(1)₁−AUR(2)₅ are associated with document X and that users U1 and U2 are cooperating in leaking MyCompany confidential material to an outside entity.

In an embodiment an SWB_(b) in a MyCompany UE_(e) may be configured to implement methods for providing users with dynamic tailoring isolation (DYTI) to protect MyCompany resources against damage. DYTI refers to protecting user browsing activity dynamically in real time by configuring isolation of the browsing activity as needed in response to relevant historical and real-time user and website behaviour. In an embodiment DYTI may operate to provide dynamically tailored browser isolation in accordance with a procedure similar to that illustrated by flow diagram 400.

In a block 402 a user U_(n), using a SWB_(b) comprised in a UE_(e), initiates a web browsing session. In response, optionally in a block 404 SWB_(b) may invoke DYTI and operate to vet data comprised in or associated with at least one or any combination more than one of user profile U-PRF(n), UE_(e) and/or SWB_(b), and/or set WRV(w) of website risk vulnerabilities that may affect cyber damage risk related to browsing. In response to the vetting, optionally in a block 406, DYTI decides whether or not isolation is advantageous. For example, if the user profile U-PRF(n) indicates that user U_(n) is prone to careless response to phishing, has relatively low clearance levels CLR, that the UE_(e) has outdated patching, and/or that websites to which user U_(n) navigates are generally characterized by high risk vulnerabilities, DYTI may determine that isolation is advantageous. On the other hand, if DYTI determines for user U_(n), UE_(e), and/or SWB_(b) that browsing risk is relatively low, DYTI may determine that isolation may be unnecessary. If isolation is determined unnecessary, DYTI may advance to a block 416 and allow browsing without isolation.

On the other hand, if isolation is determined to be necessary, DYTI may determine, optionally in a block 408, what type and degree of isolation an isolation configuration advantageously provides for user U_(n) browsing. In an embodiment isolation configuration types include tab-by-tab isolation and a browser isolation. Tab-by-tab isolation configuration provides isolation for resources that are accessed during a session associated with a given tab and may, optionally, provide different isolation features for different webpages accessed during and via the tab session. Browser isolation isolates an entire browser and is generally considered to provide more comprehensive isolation than tab-by-tab isolation. It is noted that browser isolation for a given browser may “nest” tab-by-tab isolation and isolate tabs opened in the browser from each other and from the given browser A degree of isolation for a given isolation configuration type may be considered to increase as a number of isolation features comprised in the configuration type increases and as severity of limitations that the isolation features respectively impose on browsing increases. By way of example, a short list of exemplary isolation features in an order in which they may be considered to be “severe” may be: server signature disablement; error message disablement; clickjacking prevention; and remote file inclusion blocking.

Responsive to the determination in block 408, optionally in a block 410 DYTI determines whether or not tab-by-tab isolation is suitable to provide the desired degree of isolation. If tab-by-tab isolation is considered suitable, DYTI may advance to a block 412, specify isolation features for the tab-by-tab isolation that provide user U_(n) browsing with the desired degree of isolation, and proceed to block 416 and allow user U_(n) to browse. On the other hand, if in decision block 410 DYTI determines that tab-by-tab isolation is not suitable, DYTI may optionally proceed to a block 414 to provide, optionally operating system based (OS-based) isolation, for browser SWB_(b) using a virtualization technology sandbox, such as a virtual machine or a container, or via a bare metal server sandbox. From block 414 DYTI may proceed to block 416 and allow user U_(n) browsing.

In an embodiment, following allowance of U_(n) browsing in block 416, DYTI in a block 418 may engage in in real-time monitoring of user browsing to determine optionally in a decision block 420 whether a feature of the browsing, such as by way of example, an anomalous event or user U_(n) access to an unknown or particularly malicious website, warrants a change in configuration of isolation. If a change in isolation is indicated, DYTI optionally returns to decision block 406 to determine a type and degree of isolation required. Optionally DYTI is configured to make the change and makes the change. If change in isolation is not indicated, DYTI may proceed to a decision block 422 to decide if user U_(n) has closed the browsing session, and if not, returns to block 418 to continue monitoring user browsing. If the user has closed the browsing session DYTI proceeds to a block 424, closes any open sandboxes, and ends DYTI activity. In accordance with an embodiment DYTI is configured so that establishing a particular isolation configuration and/or making changes to an isolation configuration during a browsing session are substantially transparent to a user, such as user U_(n).

In the description and claims of the present application, each of the verbs, “comprise” “include” and “have”, and conjugates thereof, are used to indicate that the object or objects of the verb are not necessarily a complete listing of components, elements or parts of the subject or subjects of the verb.

Descriptions of embodiments of the invention in the present application are provided by way of example and are not intended to limit the scope of the invention. The described embodiments comprise different features, not all of which are required in all embodiments of the invention. Some embodiments utilize only some of the features or possible combinations of the features. Variations of embodiments of the invention that are described, and embodiments of the invention comprising different combinations of features noted in the described embodiments, will occur to persons of the art. The scope of the invention is limited only by the claims. 

1. A method of controlling access to a digital resource of a group of digital resources, the method comprising: determining information sensitive features comprised in information contents of the resources for which access to the features are limited to a selection of users from a group of users associated with the group of resources; determining if contents of the digital resource comprise at least one of the information sensitive features; determining whether a user of the group of users has authorization to access at least a portion of the resource based on the at least one information sensitive feature; and enabling the user access only to the at least portion of the resource for which the user is determined to have authorization.
 2. The method according to claim 1 and determining that the user does not have authorization to access at least a portion of the resource.
 3. The method according to claim 1 and determining that the user has authorization to access all of the resource.
 4. The method according to claim 1 wherein the at least a portion of the resource comprises only a portion of the resource.
 5. The method according to claim 4 and comprising masking or deleting that portion of the resource for which the user is determined not to have authorization access to provide a redacted resource.
 6. The method according to claim 5 wherein masking or deleting comprises modifying a renderer that renders the resource but not the resource as received by the renderer.
 7. The method according to claim 5 and enabling the user access to the redacted resource.
 8. The method according to claim 1 wherein determining authorization comprises determining a confidentiality level for each of the at least one information sensitive feature and using the confidentiality level to determine authorization.
 9. The method according to claim 8 and using an artificial intelligence to determine the confidentiality level.
 10. The method according to claim 1 wherein determining authorization comprises determining respective levels of clearance for the users in the group of users and using the clearance levels to determine authorization.
 11. The method according to claim 10 and using an artificial intelligence to determine the respective levels of clearance.
 12. The method according to claim 10 wherein determining authorization comprises determining a confidentiality level for each of the at least one information sensitive feature and determining authorization as a function of the confidentiality level for each of the at least one information sensitive feature and the clearance levels.
 13. The method according to claim 1 wherein determining authorization comprises teaching an artificial intelligence (AI) to determine authorizations for a plurality of users and a plurality of resources and using the AI to determine whether the user has authorization to access the at least portion of the resource
 14. The method according to claim 1 wherein the at least one information sensitive feature comprises a plurality of information sensitive features.
 15. The method according to claim 1 wherein and the at least one information sensitive feature comprises at least one information sensitive text feature.
 16. The method according to claim 1 wherein the at least one information sensitive feature comprises at least one information sensitive image feature.
 17. The method according to claim 1 wherein the at least one information sensitive feature comprises at least one information sensitive audio feature.
 18. The method according to claim 1 wherein the at least one information sensitive feature comprises at least one information sensitive video feature.
 19. A communications system for providing secure access to a digital resource of a group of digital resources accessible via a communications network, the system comprising: a data processing hub accessible via an IP (internet protocol) address; and a plurality of user equipment (UEs) useable to communicate via the communications network, each configured to have a cyber secure isolated environment (CISE) isolated from ambient software in the UE, and comprising a secure web browser (SWB); wherein the hub and CISE are configured so that digital resources in motion and at rest in CISE are visible to the hub and the SWB comprises or has access to computer executable instructions executable by the SWB to carry out the method according to claim
 1. 